/**
 * Created by jiachenpan on 16/11/18.
 */

export function isvalidUsername(str) {
  const valid_map = ['admin', 'editor'];
  return valid_map.indexOf(str.trim()) >= 0;
}

/* 合法uri*/
export function validateURL(textval) {
  const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
  return urlregex.test(textval);
}

/* 小写字母*/
export function validateLowerCase(str) {
  const reg = /^[a-z]+$/;
  return reg.test(str);
}

/* 大写字母*/
export function validateUpperCase(str) {
  const reg = /^[A-Z]+$/;
  return reg.test(str);
}

/* 大小写字母*/
export function validatAlphabets(str) {
  const reg = /^[A-Za-z]+$/;
  return reg.test(str);
}

/* 非特殊字符,非纯数字 */
export function validatNonSpecialCharactersNonPureNumber(str) {
  // 特殊字符判断
  const reg = /^[A-Za-z0-9\u4e00-\u9fa5]+$/;
  // 纯数字判断
  const reg2 = /^\d+$/;
  return reg.test(str) && !reg2.test(str);
}

/* 只能为字母及数字 */
export function validatOnlyNumberOrLetter(str) {
  // 纯数字判断
  const reg = /^[0-9a-zA-Z]+$/;
  return reg.test(str);
}

/* 非特殊字符 */
export function validatNonSpecialCharacters(str) {
  // 特殊字符判断
  const reg = /^[A-Za-z0-9\u4e00-\u9fa5]+$/;
  return reg.test(str);
}

/* 字符串加密 */
export function encryptionString(str, length) {
  const strArray = str.split('');
  for (let i = 0; i < strArray.length; i++) {
    if (i > length - 1 && i < (strArray.length - length)) {
      strArray[i] = '*';
    }
  }
  return strArray.join('');
}

